package controlador;

import interfaz.IVista;
import interfaz.InterfazDatosCurso;
import interfaz.InterfazPedido;
import interfaz.ListaCursos;
import interfaz.ListaPedidos;

import java.awt.event.ActionEvent;
import java.util.ArrayList;

import dao.DAOUsuario;

import sistemaAlmacen.Pedido;
import sistemaCursos.Curso;
import sistemaUsuarios.Tecnico;
import sistemaUsuarios.Usuario;
import fachada.FachadaAlmacen;
import fachada.FachadaCursos;
import fachada.FachadaUsuario;
import fachada.IFachada;

public class ControladorListaCursos extends ControladorAbstracto<FachadaCursos, ListaCursos> {
	
	public ControladorListaCursos(IFachada fachada, IVista vista) {
		super(fachada, vista);
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		String command = e.getActionCommand();
		System.out.println(command);
		
		if(command.startsWith("CURSO_")){
			
			int idCurso = Integer.parseInt( command.split("_")[1] );
			Curso curso = this.fachada.buscarCurso(idCurso);
		
			this.fachada.setCursoActual(curso);
			
			InterfazDatosCurso vCurso = new InterfazDatosCurso();
			ControladorDatosCurso cCurso = new ControladorDatosCurso(this.fachada,vCurso);
			
			vCurso.registerListener(cCurso);
			vCurso.setTextFieldNombre(curso.getNombre());
			if(curso.getEspecialidad()==null){
				vCurso.setTextFieldEspecialidad("sin determinar");
			}else{
				vCurso.setTextFieldEspecialidad(curso.getEspecialidad());
			}
			FachadaUsuario fu = new FachadaUsuario();
			Usuario tec = fu.buscarUsuario(curso.getProfesor());
			if(tec != null){
				vCurso.setTextFieldProfesor(tec.getUsuario());
			}
			else{
				vCurso.setTextFieldProfesor("sin determinar");
			}
			if(curso.getFechaInicio()==null){
				vCurso.setTextFieldFechaI("sin determinar");
			}
			else{
				vCurso.setTextFieldFechaI(curso.getFechaInicio().toString());
			}
			if(curso.getFechaFin()==null){
				vCurso.setTextFieldFechaF("sin determinar");
			}
			else{
				vCurso.setTextFieldFechaF(curso.getFechaFin().toString());
			}
	
			vCurso.populateTable(curso.getAlumnos());
			this.vista.setPanelFuncionalidad(vCurso);
			this.vista.update();
		
			
		}
		
	}

}
